home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / pvap322a / pvaplist.plp < prev    next >
Text File  |  1993-11-30  |  4KB  |  151 lines

  1. /************************************************************************
  2. *    IDリストの編集                        *
  3. ************************************************************************/
  4. /*    PVAPLIST.DATをメモに表示    */
  5. %listview{
  6.     CloseAllMemo;
  7.     madd(memono,{\n});
  8.     mclear(memono);
  9.     case    (@filechk(DIR1|{\PVAPLIST.DAT}),
  10.         {Yes},{mread(DIR1|{\PVAPLIST.DAT},memono)});
  11.     mopen(memono,320,21,639,459,{r});
  12. };
  13.  
  14. /*    メイン    */
  15. %LISTVIEW{
  16.     listview;
  17.     loop({
  18.     SNDMSG({erande_f.snd});
  19.     footnote({終了選択追加},{b});
  20.     waitx();
  21.     case    (@xtype,
  22.         101,{AllDelMEMO;im({No})},
  23.         201,{AllDelMEMO;im({No})},
  24.         102,{SELECT;im({Yes})},
  25.         202,{SELECT;im({Yes})},
  26.         103,{TSUIKA;im({Yes})},
  27.         203,{TSUIKA;im({Yes})},
  28.         memono,{SELECT;im({Yes})},,{im({Yes})});
  29.     });
  30. };
  31.  
  32. /*    ID・ハンドル追加処理    */
  33. %TSUIKA{
  34.     SNDMSG({nyuryo_f.snd});
  35.     %a    @plane( {cID・ハンドル追加\n}|
  36.             {tハンドル /1234567890123456789012345678\n}|
  37.             {tID     /12345678\n}|
  38.             {s/ 終了 / 取消 \n});
  39.     %handle    @head(@getline(a,1,1),{\n});
  40.     %id    @head(@getline(a,2,1),{\n});
  41.     %ok    @head(@getline(a,3,1),{\n});
  42.  
  43.     %WRITE{
  44.     write    (DIR1|{\PVAPLIST.DAT},
  45.         id|{  }|handle|{\n});
  46.     };
  47.  
  48.     case(ok==1,{Yes},{WRITE;listview;setcdir(DIR1)},,{setcdir(DIR1)});
  49. };
  50.  
  51. /*    処理選択    */
  52. %SELECT{
  53.     SNDMSG({erande_f.snd});
  54.     select({処理を選んで下さい},99999,,
  55.         { 削  除 },{DELETE;listview},
  56.         { 変  更 },{HENKOU;listview});
  57. };
  58.  
  59. /*    ID・ハンドル削除処理    */
  60. %DELETE{
  61.     %LineNo @xlinenum;
  62.     %MemoLine @nolmemo(memono);
  63.     %line1    @case    (LineNo>MemoLine,
  64.             {Yes},{im(@memo(memono,MemoLine,1))},
  65.             {No},{case    (LineNo<=0,
  66.                     {Yes},{im(@memo(memono,1,1))},
  67.                     {No},{im(@memo(memono,LineNo,1))})});
  68.     %lineno    @case    (LineNo>MemoLine,
  69.             {Yes},    {im(MemoLine)},
  70.             {No},    {case    (LineNo<=0,
  71.                     {Yes},{im(1)},
  72.                     {No},{im(LineNo)})});
  73.  
  74.     %delete{
  75.     %listdata @read(DIR1|{\PVAPLIST.DAT});
  76.  
  77.     %del{
  78.     setcdir(DIR1);
  79.     delfile(DIR1|{\PVAPLIST.DAT});
  80.     write    (DIR1|{\PVAPLIST.DAT},
  81.         @getline(listdata,1,lineno-1)|
  82.         @getline(listdata,lineno+1));
  83.     };
  84.  
  85.     SNDMSG({kaknin_f.snd});
  86.     footnote({削除してよろしいですか?});
  87.     select({削除してよろしいですか?},99999,,
  88.         {  削除する  },del,
  89.         { 削除しない },);
  90.     };
  91.     
  92.     case(line1={}||line1={\n},{No},{delete});
  93. };
  94.  
  95. /*    ID・ハンドル変更処理    */
  96. %HENKOU{
  97.     %LineNo @xlinenum;
  98.     %MemoLine @nolmemo(memono);
  99.     %line1    @case    (LineNo>MemoLine,
  100.             {Yes},{im(@memo(memono,MemoLine,1))},
  101.             {No},{case    (LineNo<=0,
  102.                     {Yes},{im(@memo(memono,1,1))},
  103.                     {No},{im(@memo(memono,LineNo,1))})});
  104.     %lineno    @case    (LineNo>MemoLine,
  105.             {Yes},    {im(MemoLine)},
  106.             {No},    {case    (LineNo<=0,
  107.                     {Yes},{im(1)},
  108.                     {No},{im(LineNo)})});
  109.  
  110.     %henkou{
  111.     %listdata @read(DIR1|{\PVAPLIST.DAT});
  112.     %handle    @body(@getline(listdata,lineno,1),{  },{\n});
  113.     %id    @head(@getline(listdata,lineno,1),{ });
  114.     SNDMSG({nyuryo_f.snd});
  115.     %a    @plane( {cID・ハンドル変更\n}|
  116.             {tハンドル /1234567890123456789012345678\n}|
  117.             {tID     /12345678\n}|
  118.             {s/ 終了 / 取消 \n},
  119.             handle,id);
  120.     %handle2 @head(@getline(a,1,1),{\n});
  121.     %id2     @head(@getline(a,2,1),{\n});
  122.     %ok     @head(@getline(a,3,1),{\n});
  123.  
  124.     %WRITE{
  125.     delfile(DIR1|{\PVAPLIST.DAT});
  126.     write    (DIR1|{\PVAPLIST.DAT},
  127.         @getline(listdata,1,lineno-1)|
  128.         id2|{  }|handle2|{\n}|
  129.         @getline(listdata,lineno+1));
  130.     };
  131.  
  132.     case(ok==1,{Yes},{WRITE;setcdir(DIR1)},,{setcdir(DIR1)});
  133.     };
  134.  
  135.     case(line1={}||line1={\n},{No},{henkou});
  136. };
  137.  
  138. /*    実行    */
  139. %memono @mlast+1;
  140. case    (memono==9,
  141.     {Yes},
  142.     {SNDMSG({kaknin_f.snd});
  143.     footnote({メモ9を削除してもよろしいですか?});
  144.     select    ({メモ9を削除してもよろしいですか?},
  145.         99999,,    { は  い },{%memono {9};LISTVIEW},
  146.             { いいえ },)},
  147.     {No},{LISTVIEW});
  148. case    (@filechk(DIR1|{\PVAPLIST.DAT}),
  149.     {Yes},    {%listdata @read(DIR1|{\PVAPLIST.DAT});
  150.         case(listdata,{},{delfile(DIR1|{\PVAPLIST.DAT})})});
  151.